home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
050
/
popscren.arc
/
POPSCREN.LIB
next >
Wrap
Text File
|
1986-05-03
|
2KB
|
43 lines
{@@@@@@@@@@@ copyright (C) 1984 by Neil J. Rubenking @@@@@@@@@@@@@@@@@@@@@@@@
The purchaser of these procedures and functions may include them in COMPILED
programs freely, but may not sell or give away the source text.
The type declarations for this procedure reside in the file
SCREENS.TYP, which MUST be $INCLUDEd.
Since a variable of type SCREEN is exactly the same "shape"
as the TextMode screen memory, you can change the whole screen
in an instant by first declaring a SCREEN variable "on top"
of the screen memory (using the "absolute" statement) and
then simply changing the value of that variable.
The procedure MakeScreen turns a simple string[80] into
a ScreenLine by filling in any trailing blanks and giving
each character the specified attribute.
To create a whole screen, you use MakeScreen on each of its
25 lines--that breaks it into manageable chunks. It can get
a bit hard to look at in the listing--I suggest FIRST designing
the screen and THEN breaking it up into lines. Alternatively,
you might save the whole screen in a file and read each line
into memory when the program initializes.}
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
procedure MakeScreen(VAR Line : ScreenLine ; att: byte;theLine : LineType);
var
row : byte;
begin
for row := 1 to length(theLine) do
begin
Line[row].character := theLine[row];
Line[row].attribute := att;
end;
if length(theLine) < 80 then
for row := length(theLine) + 1 to 80 do
begin
Line[row].character := ' ';
Line[row].attribute := att;
end;
end;
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}